﻿using System;

namespace MVCms.Core.Entities
{
    [Serializable]
    public abstract class BaseEntity
    {
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>The id.</value>
        public virtual int Id { get; private set; }
        /// <summary>
        /// Gets or sets the who created this
        /// </summary>
        /// <value>The created by.</value>
        public virtual string CreatedBy { get; set; }
        /// <summary>
        /// Gets or sets the time it was created on.
        /// </summary>
        /// <value>The created on.</value>
        public virtual DateTime CreatedOn { get; set; }
        /// <summary>
        /// Gets or sets the who updated this
        /// </summary>
        /// <value>The updated by.</value>
        public virtual string UpdatedBy { get; set; }
        /// <summary>
        /// Gets or sets the time it was last updated
        /// </summary>
        /// <value>The updated on.</value>
        public virtual DateTime UpdatedOn { get; set; }
        /// <summary>
        /// Gets or sets the status.
        /// </summary>
        /// <value>The status.</value>
        public virtual Status Status { get; set; }
    }

    [Serializable]
    public enum Status
    {
        InActive = 0,
        Active = 1
    }
}